## 1.3. DBI in the Real World

DBI is being used in many companies across the world today, including large-scale, mission-critical environments such as NASA and Motorola. Consider the following testimonials by avid DBI users from around the world:

> We developed and support a large scale telephone call logging and analysis system for a major client of ours. The system collects ~1 GB of call data per day from over 1,200,000 monitored phone numbers. ~424 GB has been processed so far (over 6,200,000,000 calls). Data is processed and loaded into Oracle using DBI and DBD::Oracle. The database holds rolling data for around 20 million calls. The system generates over 44,000 PostScript very high quality reports per month (~five pages with eleven color graphs and five tables) generated by using Perl to manipulate FrameMaker templates. [Values correct as of July 1999, and rising steadily.]

> The whole system runs on three dual processor Sun SPARC Ultra 2 machines -- one for data acquisition and processing, one for Oracle and the third does most of the report production (which is also distributed across the other two machines). Almost the entire system is implemented in Perl.

> There is only one non-Perl program and that's only because it existed already and isn't specific to this system. The other non-Perl code is a few small libraries linked into Perl using the XS interface.

> A quote from a project summary by a senior manager: "Less than a year later the service went live. This was subsequently celebrated as one of the fastest projects of its size and complexity to go from conception to launch."

> Designed, developed, implemented, installed, and supported by the Paul Ingram Group, who received a "Rising to the Challenge" award for their part in the project. Without Perl, the system could not have been developed fast enough to meet the demanding go-live date. And without Perl, the system could not be so easily maintained or so quickly extended to meet changing requirements. --Tim Bunce, Paul Ingram Group

> In 1997 I built a system for NASA's Langley Research Center in Virginia that puts a searchable web front end on a database of about 100,000 NASA-owned equipment items. I used Apache, DBI, Informix, WDB, and mod_perl on a Sparc 20. Ran like a charm. They liked it so much they used it to give demos at meetings on reorganizing the wind tunnels! Thing was, every time they showed it to people, I ended up extending the system to add something new, like tracking equipment that was in for repairs, or displaying GIFs of technical equipment so when they lost the spec sheet, they could look it up online. When it works, success feeds on itself. --Jeff Rowe

> I'm working on a system implemented using Perl, DBI, Apache (mod_perl), hosted using RedHat Linux 5.1 and using a lightweight SQL RDBMS called MySQL. The system is for a major multinational holding company, which owns approximately 50 other companies. They have 30,000 employees world-wide who needed a secure system for getting to web-based resources. This first iteration of the Intranet is specified to handle up to forty requests for web objects per second (approximately 200 concurrent users), and runs on a single processor Intel Pentium-Pro with 512 megs of RAM. We develop in Perl using Object-Oriented techniques everywhere. Over the past couple years, we have developed a large reusable library of Perl code. One of our most useful modules builds an Object-Relational wrapper around DBI to allow our application developers to talk to the database using O-O methods to access or change properties of the record. We have saved countless hours and dollars by building on Perl instead of a more proprietary system. --Jesse Erlbam

> Motorola Commercial Government and Industrial Systems is using Perl with DBI and DBD-Oracle as part of web-based reporting for significant portions of the manufacturing and distribution organizations. The use of DBI/DBD-Oracle is part of a movement away from Oracle Forms based reporting to a pure web-based reporting platform. Several moderate-sized applications based on DBI are in use, ranging from simple notification distribution applications, dynamic routing of approvals, and significant business applications. While you need a bit more "patience" to develop the web-based applications, to develop user interfaces that look "good", my experience has been that the time to implement DBI-based applications is somewhat shorter than the alternatives. The time to "repair" the DBI/DBD based programs also seems to be shorter. The software quality of the DBI/DBD approach has been better, but that may be due to differences in software development methodology. --Garth Kennedy, Motorola

Copyright © 2001 O'Reilly & Associates. All rights reserved.